Implementing distributed Linda in Standard ML
نویسندگان
چکیده
We have implemented the Linda model of shared distributed tuple space in a functional programming language, Standard ML. We use ML’s flexible type system and pattern matching facilities to provide ML programmers with the basic Linda operations on tuples. No preprocessor is used, and no compiler changes are required. We use separate ML modules to implement the Linda interface, operations on tuple space, communication of tuples over the network, and replication of tuple spaces. Our approach allows different compositions of these modules to be used to configure a system with either local or remote access to tuple space, and with either a centralized or distributed implementation of tuple space. The resulting implementation of Linda in Standard ML offers an attractive way to separate the functional and the imperative portions of a distributed system. Individual processes can be written in ML in a pure functional style and the Linda shared tuple space can be used to interconnect the processes and maintain the state of the system. This research was sponsored by the Defense Advanced Research Projects Agency and monitored by the Air Force Systems Command under Contract F19628-91-C-0128. The views and conclusionscontained in this documentare those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the U.S. Government.
منابع مشابه
Orca: a Language Based on Shared Data-objects
Orca is a language for implementing parallel applications on distributed systems. This paper gives an overview of the Orca language and its underlying communication model, as well as the implementations and applications of the language. Also, it compares Orca with related systems, such as Linda and Shared Virtual Memory.
متن کاملOn the Implementation of an Asymmetric Hyperspace in Linear Memory: Implementing Tuple Spaces
This report sets out the results of an investigation into the distributed implementation of tuple spaces, hence Linda. There are numerous such schemes for implementing distributed tuple spaces, and a selection of these implementations are examined. It is observed that all the implementations have a great deal of similarities. These similarities form the basis for a generalised tuple space imple...
متن کاملImplementing Ml on the Fujitsu Ap1000
The CAP ML project seeks to develop a version of ML that is suitable for use on a distributed memory multiprocessor architecture such as the Fujitsu AP1000. Language extensions are proposed that have been developed in conjunction with a programmming methodology that is appropriate to that of a massively parallel computer whilst retaining a functional style. The implementation, which is based on...
متن کاملCoordination with Attributes
This paper addresses the opportunities for, and eeects of, incorporating object attributes in Linda-like tuple-space systems. The focus is on exploring how the coordination attributes are aaected by this enhancement, and investigating in what ways the classical Linda model needs to be modiied. Particular emphasis is placed on the potential practical gains to be expected in both performance and ...
متن کاملXMLSpaces for Coordination in Web-Based Systems
XMLSpaces is an extension to the Linda coordination language for Web-based applications. It supports XML documents as tuple fields and multiple matching routines implementing different relations amongst XML documents, including those given by XML query-languages. XMLSpaces is distributed with a clearly encapsulated open distribution strategy.
متن کامل